Conversation
|
Play this branch at https://play.threadbare.game/branches/endlessm/wjt/in-game-push-blocks-prototype. (This launches the game from the start, not directly at the change(s) in this pull request.) |
Actually it's playable in: https://play.threadbare.game/branches/endlessm/wjt/in-game-push-blocks-prototype/#res://in_game_sokoban_test.tscn |
|
@wjt @JoniCeceri I see two options here:
I think both have potential, it all depends on the kind of puzzles we want. Maybe 2 can open up more possibilities for pattern-based puzzles? Check this level for StoryQuest "Gazzart" that does the latter: https://game-lab-5-0-utp-group-6-team-3.github.io/threadbare/#quests/story_quests/gazzart/2_game_castle/gazzart_castle @med-bc and team, if you can help us understand how you did the boxes puzzles, that would be great! |
3796214 to
5f6ba40
Compare
|
@wjt you made it work! Nice!
|
| # This doesn't work because at the point when the 1×1px area in the centre of a block | ||
| # travelling rightwards touches a block of water at (x, y), | ||
| # its centre is still in tile (x - 1, y). | ||
| # var coords := tile_map.local_to_map(tile_map.to_local(global_position)) |
There was a problem hiding this comment.
This is why the previous version didn't work. Actually what I originally implemented was the section just above that uses get_coords_for_body_rid but then I thought, well, how hard can it be to use local_to_map? and didn't even test it before pushing.
|
I have tried several different ways to move the blocks in response to the repel action:
|
|
The other problem with the "repel" action is that these puzzles rely on exact control of the blocks, but the repel circle is wide enough that it's hard to avoid repelling two blocks at once if they are close together. I don't think it's going to work. untitled.mp4The third thing to try is hitting it with the sword, which would be most easily prototyped by making it hookable I guess but with negative weight? |

No description provided.